classdef Blob
    properties
        borderPoints;
        centerOfMass;
        centerOfBorderPoints;
        ellipse;
        circle;
        homologPoint;
        coordinate;
    end
    
    methods
        function center = getCenter(blob)
            if ~isempty (blob.circle)   % Die Eigenschaften des Kreises werden als genauere Approximation der gesuchten Werte angesehen, denn falls
                                        % ein Kreis gefittet wurde, wurde
                                        % die Ellipse als fehlerhaft
                                        % erkannt.
                center = blob.circle.center;
            elseif ~isempty( blob.ellipse )
                center = blob.ellipse.center;
            else
                error ('Blob has neither circle nor ellipse paramters.');
            end
        end
        
        function s = getStandardDeviation(blob)
            if ~isempty(blob.circle)
                s = blob.circle.s_center;
            elseif ~isempty(blob.ellipse)
                s = blob.ellipse.s_center;
            else
                error ('Blob has neither circle nor ellipse paramters.');
            end
        end
              
    end
end